{{tag>logiciel pdf}}

====== PdfToHtml ======


pdftohtml est un utilitaire en ligne de commande qui permet, comme son nom l'indique, de convertir un fichier PDF vers un fichier HTML.

===== Installation =====
[[:tutoriel:comment_installer_un_paquet|installez le paquet]] **[[apt://poppler-utils|poppler-utils]]**.

Il contient plusieurs utilitaires, dont celui qui nous intéresse : **pdftohtml**.

===== Utilisation via une interface graphique =====
J'ai créer une petite interface graphique grâce à Zenity afin de simplifier son utilisation.
Copier le code ci dessous dans un éditeur quelconque (ex : gedit).
<code>
#!/bin/sh

#affichage de la licence
zenity  --warning --width=400 \
	--title="Interface graphique pour pdftohtml" \
	--text="Ce programme est une interface graphique pour l'utilitaire 'pdftohtml' qui permet la conversion d'un fichier PDF en fichier(s) HTML."

boiteLicence=`zenity --question --width=350 --height=150 --title="Message de l'auteur (mirage59)" --text="<b>Programme sous licence Paternité-Pas d'Utilisation Commerciale-Partage des Conditions Initiales à l'Identique 2.0 France 
Pour plus d'informations visiter : 
http://creativecommons.org/licenses/by-nc-sa/2.0/fr/ \n</b>"`

case $? in
  0)
    #l'user a valider la licence
	;;
  1)
    #annuler;;
	exit;;
  -1)
    #fermer
	exit;;
esac


#selection du pdf a convertir
fichierEntree=`zenity --file-selection --title="Sélectionnez le fichier PDF a convertir"`

case $? in
  0)
    echo $fichierEntree;;
  1)
    #echo "Aucun fichier sélectionné.";;
	exit;;
  -1)
	exit;;
esac

#checklist pour les différentes options
options=`zenity  --list --checklist --width=450 --height=400 --separator=" -" \
	--title="Cochez les options souhaiter pour la conversion"\
	--column="Cochez" --column="Options" --column="Descriptions" \
	1 q "dont print any messages or errors" \
	1 v "print copyright and version info " \
	1 p "exchange .pdf links with .html" \
	1 c "generate complex output" \
	1 i "ignore images" \
	1 noframes "generate no frames" \
	1 stdout "use standard output " \
	1 xml "output for XML post-processing " \
	1 hidden "force hidden text extraction" \
	1 dev "output device name for Ghostscript" \
	1 nomerge "do not merge paragraphs " \
	1 nodrm "override document DRM settings "`

#selection du dossier de sortie
dossierSortie=`zenity --file-selection --directory --title="Sélectionnez le dossier où seront sauvegardé vos fichiers HTML"`

case $? in
  0)
	echo "$dossierSortie";;
  1)
	echo "Aucun dossier sélectionné.";
	exit;;
  -1)
	exit;;
esac

#saisie du nom du fichier html
fichierSortie=`zenity --entry --title="Choix du nom du fichier html" --text="Quel nom voulez-vous donner a vos fichiers HTML?"`
case $? in
  0)
    echo "$fichierSortie";;
  1)
	echo "Aucun fichier sélectionné.";
	exit;;
  -1)
	exit;;
esac

#on gérére le script que l'on lancera
echo "#!/bin/sh \n">/tmp/ligneCmdPdftohtml.sh
echo "pdftohtml -$options $fichierEntree $dossierSortie/$fichierSortie.html" >>/tmp/ligneCmdPdftohtml.sh
#le script pourra s'éxécuter en tant que programme
chmod u+x /tmp/ligneCmdPdftohtml.sh
#lancement du script
sh /tmp/ligneCmdPdftohtml.sh

#on supprime le script
rm -f /tmp/ligneCmdPdftohtml.sh

#ouverture du dossier de sortie dans nautilus
nautilus $dossierSortie
</code>

Enregistrer ensuite ce fichier avec une extension "//.sh//". <note important>je vous conseille de l'appeler : **zenity_pdftohtml.sh** et de le sauvegarder dans votre répertoire personnel (**HOME**)</note>
Ouvrer ensuite le terminal et taper la ligne suivante qui permettra au script de s'éxécuter :
<code> chmod u+x zenity_pdftohtml.sh </code>

Vous pouvez ensuite lancer cette interface graphique en exécutant la commande : 
<code>sh zenity_pdftohtml.sh</code>
ou en créer un raccourci personnalisé contenant le même code.

===== Utilisation en ligne de commande =====

La syntaxe générale est la suivante :
<code> pdftohtml [options] <PDF-file> <html-file> </code>
Où //<PDF-file>// est à remplacer par l'emplacement du fichier pdf a convertir,
où //<html-file>// est à remplacer par l'emplacement du fichier html et
où //[options]// est à remplacer par aucune,une ou plusieurs des options.

Voici la liste des principales options : 
<code>-q</code> dont print any messages or errors
<code>-v</code> print copyright and version info 
<code>-p</code> exchange .pdf links with .html
<code>-c</code> generate complex output
<code>-i</code> ignore images
<code>-noframes</code> generate no frames
<code>-stdout</code> use standard output 
<code>-xml</code> output for XML post-processing 
<code>-hidden</code> force hidden text extraction
<code>-dev</code> output device name for Ghostscript
<code>-nomerge</code> do not merge paragraphs 
<code>-nodrm</code> override document DRM settings 

===== Désinstallation =====
Pour désinstaller pdftohtml il suffit de [[:tutoriel:comment_supprimer_un_paquet|supprimer le paquet ]] poppler-utils.
Pour supprimer l'interface graphique il suffit d'effacer le fichier "//zenity_pdftohtml.sh//".

===== Liens =====

(EN) Site officiel de PDFTOHTML : [[http://pdftohtml.sourceforge.net/]]

//Créateur de la page : [[utilisateurs:mirage59]]

